Method for generating near-optimal sequencing of manufacturing tasks subject to user-given hard and soft constraints

ABSTRACT

The present invention provides a method utilizing evolutionary processes for solving partial constraint satisfaction problems in order to produce a near-optimal or optimal sequence of products for manufacture. More specifically, a computer implemented method for generating an optimized sequence of “N” number of products for manufacture is provided, where said products are of “M” number of distinct types with a fixed number (“N t ”) of each type being desired and each product type comprising an array (“Q”) of distinct features, wherein said manufacture is optionally constrained by one or more of the following constraints: the production requirement for each product type, feature-based position equations, and feature-based position inequalities, wherein each of said constraints is individually designated as either a hard constraint which cannot be violated, or as a soft constraint which can be violated at a predetermined cost; said method comprising: generating an initial population of chromosomes, wherein each chromosome represents a feasible sequence of products of various types for manufacture, feasibility depending on satisfaction of all of said hard constraints; associating a fitness value with each chromosome, said fitness value being a function of the predetermined cost associated with the degree of violation of each of said soft constraints; sorting said chromosomes based on the fitness value associated with each chromosome; and applying iteratively to the population of chromosomes a reproductive process, comprising (1) selection of a genetic operator, (2) selection of one or two chromosomes, the number of chromosomes to be selected correlating with the selected genetic operator, (3) application of the selected genetic operator to the selected one or two chromosomes to cause generation of one or two offspring, (4) insertion of one offspring chromosome into the sorted population, and (5) discard of one of the least desirable chromosomes in the population; said iterative process being continuously run until the fitness value for the best chromosome satisfies a known criterion or until a pre-determined time has elapsed.

This application claims the benefit of Provisional Application No.60/112,329 filed, Dec. 15, 1998.

FIELD OF THE INVENTION

The field of the invention is evolutionary processes; more particularly,the present invention relates to a method utilizing evolutionaryprocesses for solving partial constraint satisfaction problems in orderto produce a near-optimal or optimal sequence of products formanufacture.

SUMMARY OF THE INVENTION

The present invention relates to a method for solving partial constraintsatisfaction problems, more particularly to a method of sequencingproducts for manufacture such that the sequence produced is anear-optimal or optimal sequence, meaning that direct cost associatedwith various labor, processes, and parts inventory are minimized andequipment and floor space utilization are maximized. One application ofthe method of the present invention is the sequencing of automobilesduring manufacturing, in which vehicles are sequenced to go through aseries of operations such as body forming, painting, component assembly(such as installing radios, seats, etc.) and final assembly (adding trimand chassis).

BACKGROUND OF THE INVENTION

The sequencing of manufacturing stages or tasks represents acombinatorial, or partial, constraint satisfaction and optimizationproblem.

As is understood by those skilled in the art, partial constraintsatisfaction problems (PCSP's), such as scheduling or sequencing, do notlend themselves easily to automated solving. A solution to a PCSPtypically must satisfy a set of hard constraints to be valid orfeasible, and must minimize the costs associated with violating one ormore conflicting soft constraints (i.e., the solution must present thebest trade-off among the conflicting soft constraints). The softconstraints cannot be all completely or simultaneously satisfied in asolution. Thus, each soft constraint is allowed to be violated at a cost(i.e., partially satisfied) and the best solution is a valid solution(i.e., satisfying all hard constraints) which minimizes the costsincurred with violating the soft constraints and the degree of violationthereof.

PCSP's, such as the scheduling (or sequencing) of products formanufacture present a particularly difficult type of problem—acomputationally complex problem, referred to as an NP-complete problem(see Garey, M. and Johnson, D. , Computers and intractability: a guideto the theory of NP-completeness, Freeman, 1979.), for which searchtechniques that deterministically and exhaustively search the space ofpossibilities fail to generate a viable solution in a realistic timeperiod. For the generic problem of assigning N tasks to M resources witha particular ordering of tasks at each resource, the number of possiblesolutions is $\begin{pmatrix}{N + M - 1} \\{M - 1}\end{pmatrix}\quad {N!}$

which implies super-exponential growth as a function of the number oftasks and resources. In addition to sheer size, this search space has amore complex topology than a Euclidean space or, when M >1, a space ofpermutations.

Exhaustive search (for the best sequence) is impractical for most of thereal-world sequencing problems which often have a sequence lengthranging from the 100's to the 1000's and are subject to many conflictingconstraints. Traditional algorithmic techniques, such as dynamicprogramming (see Bellman, R. E., and Dreyfus, S. E., Applied dynamicprogramming, Princeton University Press, 1962), and branch-and-bounds(see Lawler, E. L., and Wood, D. E., “Branch and bounds methods: Asurvey,” Operations Research, 14, 699-719, 1966) fail due to their lackof scalability. The heuristic methods developed to date are complicatedby the details of a particular task, and the algorithmic considerationof the specific constraints is embodied in what amounts to a domainspecific expert system. Such heuristic techniques are often highlyspecific to particular application domains and thus are not useful asgeneral techniques for solving PCSP problems.

Real-world scheduling/sequencing problems present special difficultiesnot found in the less than real-world problems addressed in the art todate. These difficulties include: (1) the size and complexity of thereal-world search space, which is far more formidable than the searchtypically defined in less than real-world problems; (2) the dynamicprocess inherent in real-world scheduling/sequencing problems (schedulesremain valid only for a limited amount of time; after a certainduration, the world generally has changed enough that the schedulingalgorithm has to find a different schedule; additionally, there are timeconstraints on how long it can take to schedule and reschedule thatplace limits on the amount of computation that can be performed by ascheduling algorithm; and (3) the different domains and applicationspresent in real-world scheduling problems, which require solutions ofdifferent variations of the scheduling problem (these variations arisefrom a number of different sources, including: differences in the typesof hard constraints, such as relative and absolute temporalrestrictions, and resource capabilities constraints; the need foradditional information beyond an ordered assignment of tasks toresources, such as absolute times, routes traveled, and manufacturingplans; and different sets of evaluation criteria, such as cumulativeresponse time, throughput, time span, and cumulative employeesatisfaction.) Real-world scheduling/sequencing algorithms thus must beflexible enough to accommodate different conditions and able to adapt tochanges.

Evolutionary computation (abbreviated as “EC”), a general, stochasticframework inspired by the intrinsically robust search and optimizationparadigms of biological evolution, presents the most promising directionin solving real-world PCSP's. EC algorithms have been applied to manyhard optimization problems where classical methods (e.g., gradientsearch, linear programming, etc.) have failed to provide good solutions.See, e.g.. Back, T., Fogel, D. B., and Michalewicz, Z, eds., Handbook ofEvolutionary Computation. New York: Oxford Univ. Press and Institute ofPhysics, 1997.

All EC algorithms share the same basic high-level philosophy andstructure. In any EC algorithm, a “population” of individuals, called“chromosomes,” is maintained. Each chromosome represents a potentialsolution to the problem to be solved. An “initialization process” isincorporated to create the initial population (i.e., the firstgeneration of chromosomes). A “fitness measure” representing certainoptimization criteria is employed to evaluate how fit or optimized eachchromosome is, and a “selection process” is used to select chromosomesfor “reproduction” based on their fitness values. The reproductionprocess applies “genetic operators” to the selected chromosomes tocreate probabilistically perturbed variants, called “offspring,” amongwhich are likely fitter chromosomes. A unary genetic operator alters a(parent) chromosome in some fashion probabilistically, and is called a“mutation.” A binary genetic operator combines probabilisticallydetermined portions of two parent chromosomes to produce two offspring,and is called a “crossover.” The offspring chromosomes are thenevaluated by the fitness measure and, based on their values of fitness,are used to replace certain worse chromosomes in the population to forma new generation.

The general EC procedure can be outlined as follows, where t denotesgeneration index and P(t) denotes the population of chromosomes at t:

Begin

t=0;

Initialization (to create P(t) typically randomly);

Repeat

Fitness evaluation of P(t);

Selection of chromosomes in P(t);

Reproduction to produce a P(t+1);

t=t+1;

Until certain termination condition is satisfied (when t=T)

End.

By repeating the above evaluation-selection-reproduction loop, thepopulation can be “evolved” to fitter populations (Darwinian survival ofthe fittest). Note that in the process, P(t) remains of the same size,i.e., has the same number of chromosomes. After a certain number ofgenerations (which is either predetermined, or decided based onspecified “termination” conditions), the best chromosome in the finalpopulation represents the optimal or near-optimal solution to theproblem.

Such a EC paradigm is inherently parallel (as a whole population canevolve simultaneously) and robust (as it is a probabilistic orrandomized process). It combines exploitation of the most promisingsearch area, through fitness-governed selection and reproduction, andexploration of the broadest search space through randomness.

Such a EC paradigm is also general in the sense that only the fitnessfunction used to evaluate how “good” a chromosome is requiresproblem-specific knowledge or information; the other components can berelatively problem-independent. For example, initialization is typicallydone by randomly generating chromosomes. A typical method of chromosomeselection is “roulette wheel” sampling in which each chromosome isassigned a slice of a circular “roulette wheel,” with the size of theslice being proportional to the chromosome's fitness. The wheel can thenbe spun N times, where N is the number of individuals in the population.On each spin, the individual under the wheel's marker is selected to bein the pool of parents for the next generation.

On the other hand, one can also design each component of the EC paradigm(as outlined above) differently to suit special needs of a particularproblem. Thus, the EC paradigm is both general and flexible.

Indeed, different EC algorithms are characterized by different designsof the basic components: (1) representation of chromosomes, (2)selection strategy, (3) reproduction strategy (including geneticoperators), and (4) problem-dependent criteria and method for fitnessevaluation of chromosomes. For example, three pioneer classes of ECalgorithms, Genetic Algorithms (GAs) (see Holland, J., Adaptation inNatural and Artificial Systems, University of Michigan Press, Ann Arbor,1975), Evolutionary Programming (EP) (see Fogel, L., et al., ArtificialIntelligence through Simulated Evolution, Wiley, New York, 1966), andEvolutionary Strategies (ESs), differ in these components. In GAs, whichare perhaps the most influential form of EC algorithms, a chromosome hasthe structure of a bit string, and crossover is emphasized as a majoroperation, whereas in EP and ES, a chromosome represents a string ofreal numbers, and mutation is emphasized.

In early applications of EC, a concrete problem description wastypically mapped into a standard, well-known chromosome representation,such as a bit string in a classical GA, and the problem was then solvedby a standard, well-known EC algorithm, such as a classical GA. This,however, has many limitations. Although bit string (or binary)representation has facilitated the development of the theoreticalfoundation of GAs, bit string representation severely limits the rangein which the algorithm can operate. It is thus ineffective in problemswhere the desired solution is hierarchical, or where the size and shapeof the solution is unknown in advance. In a classical GA, there is onemutation operator and one crossover operator. The mutation operatorflips a randomly selected bit in a chromosome to produce a newoffspring. The crossover operator cuts the two chromosomes into twoparts at the same (randomly selected) position and swaps the secondparts of the two chromosomes to produce two offspring chromosomes. Theseoperations, at the level of bits, usually make evolution too slow inconverging to a satisfactory solution.

More recent approaches emphasize the use of “natural” chromosomestructures which best describe the class of problems to be solved, andaccordingly, the use of problem-sensitive genetic operators (seeMichalewicz, Z. Genetic algorithms+data structures=evolution programs,3^(rd) ed., Springer-Verlag, 1996). An important question (and problem)inherent in these approaches, however. is to what extent should theproblem-specific knowledge or information be embedded in the algorithmto achieve a good balance of efficiency and general applicability.Trying to answer this question well is a continuing struggle for ECpractitioners.

Among the problems attacked by EC methods, scheduling problems havedrawn considerable attention, see Special Issue: Evolutionary Algorithmsfor Scheduling, Evolutionary Computation, 6(1), 1998, including thespecific problem of car sequencing, see Warwick, T. and Tsang, E. P. K.,“Tackling car sequencing problems using a generic genetic algorithm,”Evolutionary computation, 3(3): 267-298, 1995. However, the carsequencing problems considered to date constitute unrealisticallysimplified versions of the real-world problem, having no more than onehard constraint and one type of soft constraints. The approachesconsidered to date are also not suitable for real-world sequencingproblems, which have many different kinds of hard and soft constraints,because with multiple constraints, they do not result in a feasible orvalid solution within a finite time period. The prior art crossoveroperator also can result in severe violation of hard constraints in theoffspring produced, and repairing the infeasible offspring can be veryexpensive.

In sum, there is no effective method, EC-based or not, in the prior artwhich is able to handle the complex real-world sequencing problemssuccessfully. The present invention overcomes the problems andinsufficiencies in the art in a novel manner.

BRIEF SUMMARY OF THE INVENTION

In view of the shortcomings and inabilities of the existing methods forsolving real-world sequencing problems, the present invention provides ageneral method of sequencing manufacturing tasks which employs an ECalgorithm to determine near-optimal solutions to a partial constraintsatisfaction problem (“PCSP”). A preferred embodiment comprises a methodfor determining within a finite time period near-optimal sequencing ofmanufacturing tasks subject to user-given hard and soft constraints.

It is to be understood that the foregoing general description and thefollowing detailed description are exemplary and explanatory only, andnot restrictive of the invention as claimed.

DESCRIPTION OF THE DRAWINGS

The present invention will be understood more fully from the detaileddescription given below and from the accompanying drawings which,however, should not be taken to limit the invention to the specificembodiment but are for explanation and understanding only.

FIG. 1 depicts a chromosome (S) representation of a product sequence:S={S₁, S₂, . . . , S_(N)} be a sequence of N products of M types. Assumethat an assembly schedule must be generated for a set of N vehicles.

FIG. 2 illustrates a mutation operation.

FIG. 3 illustrates a crossover operation.

FIG. 4 illustrates the preferred method of the invention.

FIG. 5 illustrates the basic operations of an automobile manufacturingsequence.

DETAILED DESCRIPTION OF THE INVENTION

The present invention teaches a method of solving partial constraintsatisfaction problems, in particular a method of sequencing products formanufacture such that the sequence produced is a near-optimal or optimalsequence, meaning that direct cost associated with various labor,processes and parts inventory are minimized and equipment and floorspace utilization are maximized. An example of sequencing products formanufacture is the manufacture of automobiles, in which vehicles aresequenced to go through a series of operations such as body forming,painting, component assembly (such as installing radios, seats, etc.)and final assembly (adding trim and chassis).

In the present invention, in order to be valid or feasible, a solutionsequence must satisfy any hard constraints imposed. In addition, thereare a number of desirable, but conflicting, constraints (referred to as“soft constraints”) which cannot all be completely satisfied in asequence at the same time. Thus, soft constraints are allowed to beviolated at a cost, or partially satisfied. The optimal solutionsequence will be a valid sequence (i.e., satisfying all hardconstraints) which also minimizes the degree and costs of violating allsoft constraints (i.e., providing the best trade-off among theconflicting soft constraints).

The present invention applies to sequencing problems which include someor all of the constraints described below. Constraints other than thosedescribed below may also be included.

The method of the present invention comprises: A computer implementedmethod for generating an optimized or nearly-optimized sequence of “N”number of products for manufacture, where said products are of “M”number of distinct types with a fixed number (“N_(t)”) of each typebeing desired and each product type comprises a unique array (“Q”) ofdistinct features, wherein said manufacture is optionally constrained byone or more of the following constraints: the production requirement foreach product type, feature-based position equations, and feature-basedposition inequalities, wherein each of said constraints is individuallydesignated as either a hard constraint which cannot be violated, or as asoft constraint which can be violated at a predetermined cost; saidmethod comprising:

generating an initial population of chromosomes, wherein each chromosomerepresents a feasible sequence of products of various types formanufacture, feasibility depending on satisfaction of all of said hardconstraints;

associating a fitness value with each chromosome, said fitness valuebeing a function of the predetermined cost associated with the degree ofviolation of each of said soft constraints;

sorting said chromosomes based on the fitness value associated with eachchromosome; and

applying iteratively to the population of chromosomes a reproductiveprocess, comprising (1) selection of a genetic operator, (2) selectionof one or two chromosomes, the number of chromosomes to be selectedcorrelating with the selected genetic operator, (3) application of theselected genetic operator to the selected one or two chromosomes tocause generation of one or two offspring, (4) insertion of one offspringchromosome into the sorted population, and (5) discard of one of theleast desirable chromosomes in the population;

said iterative process being continuously run until the fitness valuefor the best chromosome satisfies one or more known criteria or until apre-determined time has elapsed.

The problem description—described above as “N number of products formanufacture, where said products are of “M” number of distinct typeswith a fixed number (“N_(t)”) of each type being desired and eachproduct type comprises a unique array (“Q”) of distinct features” can beformulated as follows:

Let S={S₁, S₂, . . . , S_(N)} be a sequence of N products of M types,where each type t is described by a tuple of Q features (f₁, f₂, . . . ,f_(Q)), such that f_(i) (i=1, 2, . . . , Q) ∈ D_(i), where D_(i) is thedomain of feature values for feature i. S is subject to hardconstraints, which may or may not include some or all of the followingtypes of hard constraints:

A. Production requirements: for each product type t (=1, . . . , M),N(t) products have to be in the sequence S (i.e., have to be produced).Thus N=ΣN(t). (Alternatively, the product requirement can be included asa soft constraint.)

B. Feature-based position equations: a set of equations which determineproduct positions based on values of a subset or the whole set of typefeatures. This kind of constraints take into account the limitationspresent in the means of moving the sequence in the work space (e.g., theavailability and locations of holders to carry products to variousprocesses and the ways processes can be applied to the products).

C. Feature-based position inequalities: a set of inequalities whichdetermine the ranges of product positions based on values of a subset orthe whole set of type features. This kind of constraint takes intoaccount the time/timing requirements to operate on certain products ortheir features (e.g., the time frame when workers of certain specificexpertise will be available or certain resources/equipment can beavailable).

In addition, S may (or may not) also be subject to some or all of thefollowing types of soft constraints (i.e., conflicting constraints whichcannot be satisfied simultaneously and completely):

A. Feature-based distance equations: a set of equations which determineproduct distances in the sequence based on values of a subset or thewhole set of type features. This kind of constraint often characterizesthe need to either group together or spread products with certainfeatures in a sequence for efficient processing (e.g., productsrequiring the same part are not put too close in a sequence so thatthere will be sufficient time for the worker or process to install thepart without causing a stop of the sequence at the installation point).

B. Feature-based distance inequalities: a set of inequalities whichdetermine the ranges of product distances in the sequence based onvalues of a subset or the whole set of type features. This kind ofconstraint usually takes into account the fact that sometimes productsdo not have to go through a certain process strictly sequentially,rather the process may be applied to products out-of-order so long asthe substituted product possess the same or similar features of thereplaced product.

For a given feasible and valid sequence, a cost is computed to measurethe violation of each soft constraint or each type of soft constraintsin the sequence, and the total cost C of the entire sequence is acombination of such individual costs. C can be formulated as a weightedsum of individual costs, where each weight determines the contributionof the corresponding cost to the total cost C. The method of the presentinvention then finds the optimal or nearly optimal sequence, that beingthe best sequence which satisfies all hard constraints and minimizes thetotal cost C for violation of soft constraints.

The present invention utilizes an EC algorithm characterized by thefollowing components:

Chromosome representation: A population of individual chromosomes, eachchromosome being an ordered list representing a feasible and validproduct sequence (see FIG. 1), wherein each element in the listcorresponds to a product in the sequence. The length of a chromosome isN, the total number of products in a sequence.

Fitness evaluation: The fitness of a chromosome (i.e., a sequence) ismeasured by the total cost C (as discussed above) for violating softconstraints. Thus, the fitter a chromosome, the lower its total cost.

Initialization: The initial population of chromosomes must include somerandomly generated valid sequences (i.e., only sequences which satisfyall hard constraints). The population can consist of only randomlygenerated valid sequences, or it can also include some pre-determinedsequences based on problem-specific heuristic knowledge (“imported”sequences).

Genetic operators: Genetic operators are used to alter chromosomes inorder to create new and potentially fitter chromosomes. Two operatorsare preferred: one mutation operator and one crossover operator. Themutation operator performs the following operation on a singlechromosome (i.e., a single sequence): first, randomly select twopositions where the products are not of the same type; if swapping thetwo products does not violate any hard constraint, the products areswapped; otherwise, either two new positions are selected and theprocess repeated, or alternatively the process is aborted (see FIG. 2).Note that operation of the mutation operator does not cause anyviolation of the hard constraint of production requirements.

The crossover operator operates on two chromosomes to generate two newchromosomes (called offspring). It starts by randomly selecting asequence position and checks if the corresponding products in the twosequences are of the same type. If they are not, the correspondingproducts are swapped to produce two offspring. Note that as the swappingoccurs at the same position, the feature-based position and positionrange constraints are not violated. Since the swapping inevitablyviolates the hard constraint of production requirements in the twooffspring by decreasing the number of one type of product by 1 and byincreasing the number of the other type of product by 1 at the sametime, another swapping is needed to repair the offspring. This secondswapping (referred to as a “Repair Operation”) is likely to happenbetween products at different positions, as shown in FIG. 3, but again,it will not violate the feature-based position or position rangeconstraints as in the first swapping.

Reproduction: Reproduction refers to the process of generating newchromosomes. In the present invention, this process consists of firstselecting a genetic operator, and then selecting either one (if themutation operator is selected) or two chromosomes (if the crossoveroperator is selected) for reproduction. Each operator has a probability,and a roulette wheel is constructed based on the operator probabilities.The probability value of an operator can either be pre-determined basedon problem-specific knowledge, or can be adjusted during the evolutionprocess based on the operator's usefulness (i.e., performance) in pastgenerations. An operator is selected by “spinning” the wheel.

To facilitate the selection of chromosomes, the initial population ofchromosomes are sorted in the ascending order of their fitness (i.e.,cost) values. A roulette wheel is built with the size of the slice foreach chromosome proportional to its rank in the sorted list. Then eachtime a selection is done by “spinning” the wheel a chromosome isselected with a probability proportional to its rank. After the geneticoperation, the newly generated offspring (or one of the two offspringgenerated from crossover with repair) is evaluated (i.e., its fitnessvalue is calculated) and is inserted into the sorted population based onits fitness value; one of the worst chromosome in the population is thendiscarded to maintain the original population size. Such a populationnow represents a new generation and remains sorted.

Overall algorithm: The algorithm starts with an initialization processin which the population is generated. The population is then evaluatedas sorted as described above. The reproduction process described aboveis then repeated until either a set of termination conditions aresatisfied, or a pre-determined amount of time has elapsed. The algorithmflow chart is as shown in FIG. 4.

Detailed Description of an Illustrative Embodiment

The nature and variants of the present invention are illustrated by thefollowing example. Although the example is limited to one industryspecific embodiment of the invention, the invention itself should not beconstrued as being so limited. Additionally, (and it should be apparent)various variations and modifications may be made to the invention, withthe attainment of some or all of the advantages of the invention. It isthe subject of the appended claims to cover these and such othervariations and modifications as come within the true spirit and scope ofthe invention.

The Vehicle Sequencing Problem

The vehicle sequencing problem represents a special instance of thegeneral sequencing problem described above. The primary objective ofvehicle sequencing is to develop a vehicle assembly sequence which ispreserved throughout the body shop, paint, and final assembly processes,is unlikely to be disrupted, and which simultaneous minimizes the directcosts associated with labor, parts, inventories, and paint costs, whileincreasing equipment and floor space utilization.

Recently, car sequencing has taken on greater significance as thecomplexity of vehicle assembly has increased due to automotivemanufacturers' desire to accommodate consumers' individual preferencesvis-a-vis car exterior colors and features, such as sun roofs, carinterior colors, fabrics and options.

The Nature of Vehicle Sequencing

Currently, automobile manufacturing companies offer customers a widevariety of vehicle configurations within each model. The possiblecombinations of body styles, powertrains, interior and exterior colors,and free-standing options can number in the tens to hundreds ofthousands of unique vehicles. This presents a very complex schedulingproblem when determining the ideal sequence of vehicles to be built on agiven day. However, it is an important problem to solve, since anoptimum sequence will reduce direct labor, parts inventories and paintcosts, while increasing equipment and floor space utilization.

In the past, off-line repairs of defects in the upstream body shopcreated an unpredictable sequence of vehicles for the paint shop, whileoff-line paint defect repairs resulted in an even less predictable bankof vehicles for the final assembly (trim and chassis) line sequence.Poor sequences entering the paint bank cause a significant waste ofmaterials. For instance, each time the color of a vehicle changes fromits predecessor in the enamel paint booth, the previous paint color mustbe purged from the paint system gun, wasting paint and cleaning solvent.Poor sequences can also result in the occurrence of unnecessary costs inthe final assembly line. The cost of poor sequences with respect to highlabor value options is direct labor. For example, consider an assemblyline which produces sixty vehicles per hour and contains a moonroofinstallation station. For a randomly arranged sequence of vehicles, ifeach installation requires 1.5 minutes of direct labor by two workers, asecond worker is needed in the moonroof station to stay within the 1minute of cycle time. In a “good” assembly sequence, at least onenon-moonroof vehicle will be spaced between any two moonroof vehicles,such that one worker will be able to keep up with the workload andreturn to the beginning of his station after each installation. Goodsequences also require less floor space per individual station becauseworkers are not forced as far out of their station by the needs ofconsecutive high labor value jobs. The sequencing efficiencies are lostwhen the optimal manufacturing sequence is disrupted by missing vehiclesat the point where units are also moved from the paint bank to the startof the final assembly line. Finally, an unpredictable sequence requiresthe inventory of parts to account for all possible vehicleconfigurations.

These types of inefficiencies can be avoided using the method of thepresent invention. For instance, with the optimized sequencing solutionof the present invention in place, suppliers can ship the exact parts atthe exact time needed and significantly reduce inventory holding costs.Additionally, since units stored in the paint bank have no powertrain,trim or options, and are distinguishable only by their body-in-white(BIW) characteristics and paint color, the present invention reducesinefficiencies by providing for substitution between any missing unitand another unit in the paint bank with the same BIW and color but alater sequence number. The missing unit then gains additional time toarrive in the paint bank before it causes a break in the vehiclesequence.

The combination of BIW (e.g.,. sedan/wagon, two or four door, moonroof,and seating configuration) and paint color (e.g., body color and anytwo-tone accent color or paint stripe) is called a painted body.Depending on the vehicle line there can be up to a thousand uniquepainted bodies. To facilitate substitution, the method of the presentinvention provides for a “back-up” for each vehicle consisting of anidentical painted body in the paint bank at the time that it must bemoved to the final assembly line. To do so, requires spacing identicalpainted bodies at a fixed interval which relates to the paint bank size.[Substitution has cost benefits resulting from smaller paint banks andless inventory in the paint banks, as well as optimized in-line vehiclesequencing.] Painted body spacing, however, adds a great deal ofcomplexity to the sequencing problem, since the effect is to add oneconstraint for each unique painted body. For a typical plant, this willincrease the number of constraints from less than 20 to over 100. Thepresent invention, however, provides a feasible method for sequencing ofthis high level of complexity.

Representation

The product here is a vehicle, and the type of the vehicle is determinedby the following features: body type, paint type/color, and featurescharacterizing option types (such as radio, car phone, seat cover,etc.). A customized vehicle type is then described by a tuple of suchfeatures, and each set of feature values describes a unique vehicletype. Thus, the problem may be represented as follows:

Given N cars of M types, which require a total of K options, asspecified by ${O\quad \left( {j,k} \right)} = \left\{ \begin{matrix}g & {{if}\quad {car}\quad {type}\quad j\quad {requires}\quad {option}\quad k\quad {of}\quad {grade}\quad g} \\0 & {otherwise}\end{matrix} \right.$

where j=1, . . . , M and k=1, . . . , K, find a schedule S as a sequenceof the N cars, satisfying the hard constraints: (1) productionrequirements; (2) fixture constraints; and (3) rotation rangeconstraints; while optimizing the following: (1) optional spacing; (2)painted-body spacing; and (3) paint blocking.

Each vehicle type j,j=1, . . . , M, is determined by a tuple ofattributes (bj, pj, pbj, Oj), where

bj is the index of the car body type,

pj is the index of the paint type,

pbj is the index of the painted-body type, and

Oj is a set of option-grade pairs as defined by the function O (j,k).

Production requirements, fixture constraints, and rotation rangeconstraints are three types of hard constraints often considered in areal-world vehicle sequencing problem. The first, productionrequirements, is as described in the general problem formulationearlier, and can be formulated in the problem as Prj cars for car typej, where j=1, . . . , M. Note that$N = {\sum\limits_{j = 1}^{M}\quad {\Pr_{j}.}}$

The second constraint, which is referred to as the fixture constraint,is a special case of the general feature-based position equationsconstraint. The fixture constraint requires that a vehicle of certainbody type (e.g., sedan or wagon, or different car model) can only beplaced at some specific positions in the sequence. The fixtureconstraint can be formulated in the problem as a fixed body typesequence x₁ x₂ . . . x_(N), where x_(i) ε{1, . . . , B} for i=1, . . . ,N, is required, where B is the total number of body types.

The third constraint, referred to as the rotation range constraint is aspecial case of the general feature-based position inequalitiesconstraint. The rotation range constraint requires that vehicles withcertain feature values must be produced within a certain time frame,which can be translated as that they must be placed within a certainrange of positions in the sequence. The rotation range constraint can beformulated in the problem as:: i_(j1)<r(i)<i_(j2) where r(j) is theposition of the car type j, and 1<i_(j1)<i_(j2)<N.

The hard constraints are consistent with one another and can all besatisfied at the same time.

The three types of soft constraints, optional spacing, painted-bodyspacing, and paint blocking, are generally included in real-worldvehicle sequencing problems. The option spacing constraint is a specialcase of the general feature-based distance inequalities constraint. Itspecifies, in this instance, that any two vehicles sharing certainfeature values should be separated by a minimum distance, i.e., thesmallest distance d between such two vehicles is greater than a d_(min)(i.e., d>d_(min)). For example, if two vehicles require the same type ofradio and no other vehicle between them in the sequence requires thattype of radio, the distance between them should allow sufficient timefor installation of the radio on one vehicle before the second vehiclearrives for installation of the same radio.

Optional spacing can be formulated in the problem in the followingmanner: if there are N_(k) vehicles requiring option k in the sequenceof N vehicles, the ideal spacing for option k is N/N_(k). Less spacingincurs a cost. Cost for option k, thus, would be:${C_{os}\quad (k)} = {\sum\limits_{i = 1}^{\# \quad {violations}}\quad \left( \frac{{ideal}_{k} - {actual}_{i} + 1}{{ideal}_{k}} \right)^{3}}$

and total cost for optional spacing is a weighted sum of costs forindividual options:$C_{o} = {\sum\limits_{k = 1}^{K}\quad {a_{k}\quad C_{os}\quad (k)}}$

where a_(k) is the priority/weight for option k and K is the totalnumber of options.

The painted-body spacing constraint is also a special case of thegeneral feature-based distance inequalities constraint. It specifiesboth a minimum and a maximum distance between two vehicles of the samepainted-body type, i.e., the combination of a basic body type (withoutpowertrain, trim, or options) and the paint color. For each painted-bodytype, such a constraint is in the form of d_(min)<d<d_(max), where d isthe smallest distance between two vehicles of that painted body. Thepainted-body spacing constraint ensures that there is always at leastone substitute in the paint bank for any painted body accidentallymissing from the sequence at the scheduled time of its painting. Thissubstitution allows for efficiency to be gained by preventing the breakof sequence due to the missing unit and also allows for additional timefor the missing unit to arrive at the paint bank. The determination ofthe distance bounds (d_(min) and d_(max)) depends on the size of thepaint bank.

Painted-body spacing can be formulated in the problem as: n ε [L,U]vehicles of identical painted bodies should be in the paint bank of sizeA at any time. Violation incurs a cost. N_(p) (i,j) is the number ofvehicles of painted-body j in the A vehicles starting from position i.

The cost associated with j at i is, thus:${C_{p1}\quad \left( {i,j} \right)} = \left\{ \begin{matrix}{L - {N_{p}\quad \left( {i,j} \right)}} & {{{if}\quad N_{p}\quad \left( {i,j} \right)} < L} \\{{N_{p}\quad \left( {i,j} \right)} - U} & {{{if}\quad N_{p}\quad \left( {i,j} \right)} > U} \\0 & {else}\end{matrix} \right.$

and total cost for painted-body spacing:$C_{p} = {\sum\limits_{i = 1}^{N}\quad {h_{j}\quad C_{p1}\quad \left( {i,j} \right)}}$

where h_(j) is the weight for painted-body type j and containspainted-body type information for position i.

The paint-blocking constraint is a special case of the generalfeature-based distance equation constraint. It specifies that vehiclesof the same exterior paint color be grouped together, i.e., d=1, where dis the smallest distance between two identical painted bodies. Thisconstraint minimizes the financial cost associated with paint gun purgeevery time paint colors are switched. This constraint can be formulatedin the problem as: V vehicles of the same paint type are preferred toform a consecutive subsequence (block). Violation incurs a cost. IfN_(m) is the length of the m-th same-paint subsequence in the vehiclesequence, then the associated cost is:${C_{b}\quad (m)} = \left\{ \begin{matrix}1 & {{{if}\quad N_{m}\quad \% V} > 0} \\0 & {{{if}\quad N_{m}\quad \% V} = 0}\end{matrix} \right.$

where N_(m) % V returns the remainder when N_(m) is divided by V, andthe total cost for paint blocking is a weighted sum of costs associatedwith individual same-paint subsequences:${Cpb} = {\sum\limits_{m = 1}^{D}\quad {w_{m}\quad C_{b}\quad (m)}}$

where D is the total number of paint changes.

Clearly the soft constraints described above conflict with one another,and it is difficult or even impossible to satisfy any one of themcompletely. Accordingly, violation of a soft constraint is allowed at apre-determined cost.

Given a vehicle sequence, as in the general formulation of thesequencing problem described earlier, the total cost associated with thesoft constraints is a weighted sum of individual costs, where eachweight determines the contribution of the corresponding individual costof the total cost. The fitness of each chromosome is thus a function ofthe cost function measuring the degree of violation of soft constraints:Cost=c₀ C_(o)+c₁ C_(p)+C₂ C_(pb). The coefficients c_(i), i=0, 1, 2 cancharacterize the priorities of the three kinds of costs.

The problem can now be solved with the algorithm of the presentinvention to find the best sequence of vehicles which satisfies all hardconstraints and minimizes the total cost for violation of softconstraints.

The algorithm of the present invention was tested on sample data setsprovided to the inventor by a major United States automobilemanufacturing company. The results of the test runs are presented in theExamples below.

Example One (Data Set 1)

Data Set 1: 512 vehicles of 100 types, 1 body type, 12 paint types, 28painted body types, and 9 options.

TABLE 1 System Parameters Mutation Population Size Crossover ProbabilityProbability 5 0.6 0.4

Results for Data Set 1

TABLE 2 Total time generation = 10,000 Cost With Optional Spacing Onlyabout 2.5 min. All costs about 18 min.

TABLE 3 Costs with optional spacing only Best Initial Best Final ResultInitial Population Result (generation = 20,000) Randomly Generated333.068 23.684 Included Sample*   25.080** 8.967 *a pre-determined“good” sample sequence is included in the otherwise randomly generatedinitial population. **is also the cost of the sample sequence.

TABLE 4 Costs (randomly generated initial population) Best Initial BestFinal Result Costs (weights) Result (generation = 20,000) OptionalSpacing (1) 353.52 46.45 Painted Body Spacing (0.1) 8864 7755 PaintBlock (1) 450 294

Example Two (Data Set 2)

The system parameters for this run were as set forth in Table 1 inExample One.

Data Set 2: 852 vehicles of 167 types, 2 body types, 13 paint types, 1painted body type, and 20 options.

Results for Data Set 2

Total time: about 5 minutes for 10,000 generations.

TABLE 5 Costs (with optional spacing only) Best Final Result InitialPopulation Best Initial Result (generation = 20,000) Randomly Generated5.6 × 10¹⁶ 5.67 × 10¹⁵ Included Sample^((*)) 6.45 × 10^(15(**)) 6.11 ×10¹⁵ ^((*))a pre-determined “good” sample sequence is included in theotherwise randomly generated initial population. ^((**))is also the costof the sample sequence.

TABLE 6 Costs (with paint blocking only) Best Final Result InitialPopulation Best Initial Result (generation = 10,000) Randomly Generated741 482 Included Sample 471* 385 *is also the cost of the samplesequence.

The algorithm of the present invention was also implemented and used inone real-world vehicle manufacturing plant with excellent results: thenumber of units in the paint bank without an identical painted bodyback-up being reduced by an average of 36%, while the rest of thescheduling objectives were also achieved.

It will be appreciated that many modifications may be made to the systemdescribed above without departing from the scope of the presentinvention. For example, possible modifications include:

A. Modifications to the way the values of the system parameters areassigned, such as the population size, the operator probabilities, thecoefficients in the fitness measure, etc. While such values may bedetermined in an ad hoc way based on experience, the values assigned tosystem parameters can also be adapted based on their influence to thesystem and the system performance, which indirectly reflects thecharacteristics of the specific problem being attacked. Such aself-adapting system allows use of the system without requiring theusers to be experts with insights of system and even the problem. Oneexample of a self-adapting version of the present invention is the useof weighted sum of costs related to known goals. Different assignmentsof these weights would significantly affect the behavior of theoptimization system.

B. Use of additional genetic operations. Existing genetic operations canbe incorporated into the present invention, for instance, heuristicstrategies for initialization (note that the preferred embodiment usesrandom initialization), and dynamic termination conditions.

Having described the exemplary embodiments of the invention, additionaladvantages and modifications will readily occur to those skilled in theart from consideration of the specification and practice of theinvention disclosed herein. Therefore, the specification and examplesshould be considered exemplary only, with the true scope and spirit ofthe invention being indicated by the following claims.

What is claimed:
 1. A computer implemented method for generating anoptimized sequence of “N” number of items, where said items are of “M”number of types with a fixed number (“N_(t)”) of each type being desiredand each item type comprising an array (“Q”) of features, wherein saidsequence of items is optionally constrained by one or more of theconstraints, wherein each of said one or more constraints isindividually designated as either a hard constraint which cannot beviolated, or as a soft constraint which can be violated at apredetermined cost; said method comprising: generating an initialpopulation of chromosomes, wherein each chromosome represents a feasiblesequence of items, feasibility depending on satisfaction of all of saidhard constraints; associating a fitness value with each chromosome;sorting said chromosomes based on the fitness value associated with eachchromosome; and applying iteratively to the population of chromosomes areproductive process, said reproductive process comprising applicationof a selected genetic operator to a selected one or more chromosomes tocause generation of one or two offspring said reproductive process beingcontinuously run until the fitness value for the best chromosomesatisfies one or more known criteria, wherein one or more geneticoperators available for selection is assigned a probability of selectionvalue and a roulette wheel scheme and a roulette wheel scheme utilizingthese probability of selection values is used to choose operators. 2.The method of claim 1, wherein said items comprise products formanufacture.
 3. The method of claim 1, wherein said types are distincttypes.
 4. The method of claim 1, wherein said features are distinctfeatures.
 5. The method of claim 1, wherein said constraints compriseone or more constraints selected from the group consisting of: aproduction requirement for each item type; feature-based positionequations; and feature-based position inequalities.
 6. The method ofclaim 1, wherein said fitness value is a function of the predeterminedcost associated with the degree of violation of each of said softconstraints.
 7. The method of claim 1, wherein said reproductive processfurther comprises: (1) selection of said genetic operator, (2) selectionof one or two chromosomes, the number of chromosomes to be selectedcorrelating with the selected genetic operator, (3) application of theselected genetic operator to the selected one or two chromosomes tocause generation of one or two offspring, (4) insertion of one offspringchromosome into the sorted population, and (5) discard of one of theleast desirable chromosomes in the population.
 8. A computer implementedmethod for generating an optimized sequence of “N” number of productsfor manufacture, where said products are of “M” number of distinct typeswith a fixed number (“Nt”) of each type being desired and each producttype comprising an array (“Q”) of distinct features, wherein saidmanufacture is optionally constrained by one or more of the followingconstraints: the production requirement for each product type,feature-based position equations, and feature-based positioninequalities, wherein each of said constraints is individuallydesignated as either a hard constraint which cannot be violated, or as asoft constraint which can be violated at a predetermined cost; saidmethod comprising: generating an initial population of chromosomes,wherein each chromosome represents a feasible sequence of products ofvarious types for manufacture, feasibility depending on satisfaction ofall of said hard constraints; associating a fitness value with eachchromosome; sorting said chromosomes based on the fitness valueassociated with each chromosome; and applying iteratively to thepopulation of chromosomes a reproductive process, said iterative processbeing continuously run until the fitness value for the best chromosomesatisfies one or more known criteria or until a pre-determined time haselapsed, wherein said one or two chromosomes are selected using aroulette wheel, wherein said roulette wheel comprises a probabilitydistribution derived from the relative ranking of the fitness valuesassociated with each chromosome such that the probability for anindividual chromosome to be selected is proportional to its relativeranking.
 9. The method as set forth in claim 8 wherein said geneticoperator comprises one of the of the following: a mutation operator anda crossover operator.
 10. The method as set forth in claim 9 wherein onechromosome is selected if the genetic operator is a mutation operator.11. The method as set for in claim 9 wherein two chromosomes areselected if the genetic operator is a crossover operator.
 12. The methodas set forth in claim 8 wherein said genetic operator is a crossoveroperator.
 13. The method as set forth in claim 12 wherein application ofsaid crossover operator comprises the steps of selecting two parentchromosomes from the population, randomly selecting a position index,said position index representing the location of a single productcomparing between the two parent chromosomes the single product locatedat said position index, and if said two single products located, one ineach parent chromosome at said position index, are not identical to oneanother, generating two offspring chromosomes identical to two parentchromosomes with the exception that the two single products located atthe position index are swapped; locating within each of the twooffspring chromosomes the first sequential product that is identical tothe swapped-in product; and swapping between the two offspringchromosomes said sequential products.
 14. The method as set forth inclaim 8 wherein said genetic operator is a mutation operator.
 15. Themethod as set forth in claim 14 wherein application of said mutationoperator comprises the steps of randomly selecting two position indices,each position index representing the location of a single product,comparing the single product located at each position index, and if saidsingle products are not identical, interchanging the single products solong as the resulting sequence satisfies all hard constraints.
 16. Themethod as set forth in claim 8 wherein application of the selectedgenetic operator comprises the steps of randomly selecting two positionindices, each position index representing the location of a singleproduct, comparing the single product located at each position index,and if said single products are not identical, interchanging the singleproducts so long as the resulting sequence satisfies all hardconstraints.
 17. The method as set forth in claim 8 wherein applicationof the selected genetic operator comprises the steps of selecting twoparent chromosomes from the population, randomly selecting a positionindex, said position index representing the location of a single productcomparing between the two parent chromosomes the single product locatedat said position index, and if said two single products located, one ineach parent chromosome at said position index, are not identical to oneanother, generating two offspring chromosomes identical to two parentchromosomes with the exception that the two single products located atthe position index are swapped; locating within each of the twooffspring chromosomes the first sequential product that is identical tothe swapped-in product; and swapping between the two offspringchromosomes said sequential products.
 18. The method of claim 8 in whicheach of said one or more genetic operators available for selection isassigned a probability of selection value and a roulette wheel schemeutilizing these probability of selection values is used to chooseoperators.
 19. The method of claim 18 wherein the probability ofselection values are assigned in such a way that all operators areequally likely to be selected.
 20. The method of claim 18 wherein theprobability of selection values are assigned in such a way that thecrossover operator is less likely to be selected.
 21. The method ofclaim 18 wherein the probability of selection values are assigned insuch a way that the crossover operator is more likely to be selected.22. The method of claim 18 in which the probability of selection valueassigned to each operator varies from iteration to iteration relative tothe usefulness of each operator in previous iterations.
 23. The methodas set forth in claim 8 in which the initial population of chromosomescomprises randomly generated chromosomes.
 24. The method as set forth inclaim 8 in which the initial population of chromosomes comprisesimported chromosomes.
 25. A computer implemented method for generatingan optimized sequence of “N” number of items, where said items are of“M” number of types with a fixed number (“N_(t)”) of each type beingdesired and each item type comprising an array (“Q”) of features,wherein said sequence of items is optionally constrained by one or moreof the constraints, wherein each of said one or more constraints isindividually designated as either a hard constraint which cannot beviolated, or as a soft constraint which can be violated at apredetermined cost; said method comprising: generating an initialpopulation of chromosomes, wherein each chromosome represents a feasiblesequence of items, feasibility depending on satisfaction of all of saidhard constraints; associating a fitness value with each chromosome;sorting said chromosomes based on the fitness value associated with eachchromosome; and applying iteratively to the population of chromosomes areproductive process, said reproductive process comprising applicationof a selected genetic operator to a selected one or more chromosomes tocause generation of one or two offspring said reproductive process beingcontinuously run until the fitness value for the best chromosomesatisfies one or more known criteria, wherein said genetic operatorcomprises a mutation operator, comprising the steps of randomlyselecting two position indices, each position index representing thelocation of a single product, comparing the single product located ateach position index, and if said single products are not identical,interchanging the single products so long as the resulting sequencesatisfies all hard constraints.
 26. A computer implemented method forgenerating an optimized sequence of “N” number of items, where saiditems are of “M” number of types with a fixed number (“N_(t)”) of eachtype being desired and each item type comprising an array (“Q”) offeatures, wherein said sequence of items is optionally constrained byone or more of the constraints, wherein each of said one or moreconstraints is individually designated as either a hard constraint whichcannot be violated, or as a soft constraint which can be violated at apredetermined cost; said method comprising: generating an initialpopulation of chromosomes, wherein each chromosome represents a feasiblesequence of items, feasibility depending on satisfaction of all of saidhard constraints; associating a fitness value with each chromosome;sorting said chromosomes based on the fitness value associated with eachchromosome; and applying iteratively to the population of chromosomes areproductive process, said reproductive process comprising applicationof a selected genetic operator to a selected one or more chromosomes tocause generation of one or two offspring said reproductive process beingcontinuously run until the fitness value for the best chromosomesatisfies one or more known criteria, wherein said genetic operatorcomprises a crossover operator, comprising the steps of: selecting twoparent chromosomes from the population, randomly selecting a positionindex, said position index representing the location of a single productcomparing between the two parent chromosomes the single product locatedat said position index, and if said two single products located, one ineach parent chromosome at said position index, are not identical to oneanother, generating two offspring chromosomes identical to two parentchromosomes with the exception that the two single products located atthe position index are swapped; locating within each of the twooffspring chromosomes the first sequential product that is identical tothe swapped-in product; and swapping between the two offspringchromosomes said sequential products.